package com.xdxc.model.form;

import java.io.Serial;
import java.io.Serializable;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;

/**
 * ss表单对象
 *
 * @author youlaitech
 * @since 2025-03-19 00:54
 */
@Getter
@Setter
@Schema(description = "ss表单对象")
public class ExamsForm implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @NotBlank(message = "不能为空")
    @Size(max=255, message="长度不能超过255个字符")
    private String title;

    @Size(max=65535, message="长度不能超过65535个字符")
    private String content;

    private Integer openType;

    @Size(max=255, message="长度不能超过255个字符")
    private String openTypeDictText;

    @Size(max=255, message="长度不能超过255个字符")
    private String password;

    private Integer state;

    @NotNull(message = "不能为空")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;

    @NotNull(message = "不能为空")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endTime;

    @NotNull(message = "不能为空")
    private BigDecimal totalScore;

    @NotNull(message = "不能为空")
    private Integer totalTime;

    @NotNull(message = "不能为空")
    private BigDecimal qualifyScore;

    @NotNull(message = "不能为空")
    private Integer chance;

    private Integer answerDevice;

    private Integer camOn;

    private Integer camInterval;

    private Integer leaveOn;

    private Integer leaveCheck;

    private Integer leaveCount;

    private Integer actionOn;

    private Integer actionInterval;

    private Integer faceOn;

    private Integer faceCheck;

    private Integer faceChance;

    private Integer handMin;

    private Integer lateMax;

    @Size(max=65535, message="长度不能超过65535个字符")
    private String thanks;

    private Integer resultType;

    private Integer resultOppty;

    private BigDecimal price;

    private Integer waterMark;

    private Integer showBook;

    private Integer answerMode;

    private Integer review;

    @Size(max=255, message="长度不能超过255个字符")
    private String deptCode;


    @Size(max=255, message="长度不能超过255个字符")
    private String createBy;

    @Size(max=255, message="长度不能超过255个字符")
    private String updateBy;

    private Integer dataFlag;

    @Size(max=65535, message="长度不能超过65535个字符")
    private String certRules;

    @Size(max=65535, message="长度不能超过65535个字符")
    private String pointsRules;

    private Integer paperId;

    private Integer passScore;

    private Integer duration;


}
